package com.cy.mall.comm.handler;

import java.io.IOException;

import com.cy.mall.comm.utils.CommonUtils;
import com.cy.mall.model.enums.ResultCode;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;

import com.cy.mall.comm.exception.MsgException;
import com.cy.mall.model.Result;

/**
 * 捕获全局错误异常，并按照统一数据返回格式Result返回
 *
 * @author tanyilin
 *
 * @create 2019年1月22日 下午6:15:04
 */
@ControllerAdvice
public class CommExceptionHandler {

	@ExceptionHandler(MsgException.class)
	@ResponseBody
	public Result handler(MsgException msgException) throws IOException {
		
		return Result.fail(msgException.getMessage(), CommonUtils.isEmpty(msgException.getCode()) ? ResultCode.FAIL : msgException.getCode(), msgException.getValue());
	}
}
